perm filename REFU[206,LSP] blob sn#132891 filedate 1974-11-26 generic text, type T, neo UTF8

(DEFPROP REFL
 (REFL LREF
       DIFFER
       ALL
       REST
       LISTREF
       UUUU
       VVVV
       LISTREFA
       LISTVAL
       AAAA
       LISTDEF
       IMPORT
       UNIMPORTANT
       NODEF
       ORLIS
       UNDEF)
VALUE)

(DEFPROP LREF
 (LAMBDA(UUUU)
  (SETQ ALL NIL)
  (SETQ REST NIL)
  (SETQ UNDEF NIL)
  (LISTREF UUUU)
  (PROG	(VVVV)
   AA	(COND ((NULL REST) (RETURN NIL)))
	(SETQ VVVV (CAR REST))
	(SETQ REST (CDR REST))
	(LISTREFA VVVV)
	(GO AA)))
EXPR)

(DEFPROP DIFFER
 (LAMBDA(U V)
  (COND ((NULL U) NIL) ((MEMBER (CAR U) V) (DIFFER (CDR U) V)) (T (CONS (CAR U) (DIFFER (CDR U) V)))))
EXPR)

(DEFPROP ALL
 (ALL COMMONHEAD LISTSUBTA LISTSUBT COMMONTAIL VALMIN RECTIFY VALMAX)
VALUE)

(DEFPROP REST
 (REST)
VALUE)

(DEFPROP LISTREF
 (LAMBDA(UUUU)
  (COND	((ATOM UUUU)
	 (COND ((AND (IMPORT UUUU) (NOT (MEMBER UUUU ALL)))
		(SETQ ALL (CONS UUUU ALL))
		(SETQ REST (CONS UUUU REST)))
	       ((AND (NODEF UUUU) (NOT (MEMBER UUUU UNDEF))) (SETQ UNDEF (CONS UUUU UNDEF)))))
	(T (LISTREF (CAR UUUU)) (LISTREF (CDR UUUU)))))
EXPR)

(DEFPROP LISTREFA
 (LAMBDA(AAAA)
  (LISTVAL (ERRSET (EVAL AAAA) NIL))
  (LISTDEF (GET AAAA (QUOTE EXPR)))
  (LISTDEF (GET AAAA (QUOTE FEXPR))))
EXPR)

(DEFPROP LISTVAL
 (LAMBDA (UUUU) (COND (UUUU (LISTREF (CAR UUUU)))))
EXPR)

(DEFPROP LISTDEF
 (LAMBDA (UUUU) (COND (UUUU (LISTREF (CDDR UUUU)))))
EXPR)

(DEFPROP IMPORT
 (LAMBDA(UUUU)
  (AND UUUU
       (NOT (OR (EQ UUUU T) (NUMBERP UUUU) (MEMBER UUUU UNIMPORTANT)))
       (OR (GET UUUU (QUOTE EXPR)) (GET UUUU (QUOTE FEXPR)) (ERRSET (EVAL UUUU) NIL))))
EXPR)

(DEFPROP UNIMPORTANT
 (UNIMPORTANT SELECTQ BASE *NOPOINT)
VALUE)

(DEFPROP NODEF
 (LAMBDA(UUUU)
  (NOT (OR (IMPORT UUUU) (ORLIS (FUNCTION (LAMBDA (XXXX) (GET UUUU XXXX))) (QUOTE (SUBR FSUBR LSUBR))))))
EXPR)

(DEFPROP ORLIS
 (LAMBDA (PRED U) (AND (NOT (NULL U)) (OR (PRED (CAR U)) (ORLIS PRED (CDR U)))))
EXPR)